A device of redundant arrays of inexpensive disks, or a RAID device uses a storage system of distributed cache memory type. The RAID device conventionally uses a redundant configuration including a plurality of control modules that control input and output of data to and from a storage for increasing performance and reliability. Read/write processing of data is executed by each control module from/in a logical volume.
Such a RAID device has a remote copy function that ensures ordering, the function which is so-called advanced copy, for increasing the reliability etc.
FIG. 23 is an illustration explaining the RAID device having the remote copy function that ensures the ordering. FIG. 23 illustrates a storage system including a RAID device (a copy source device) 2301 having control modules #00 and #01, and a RAID device (a copy target device) 2302 having control modules #10 and #11.
Each of the control modules included in each of the RAID devices includes a write only buffer having a buffer and a buffer index table (BIT) storage unit; a buffer set information storage unit that stores information relating to a buffer set; and a storage medium that stores data.
The buffer is divided into a plurality of regions each having a given size. Buffer IDs are respectively assigned to the divided regions. Data stored in the storage medium or data to be stored in the storage medium is temporarily stored in the respective regions. The BIT storage unit stores storage locations of data stored in the buffer, or a BIT that is information including buffer IDs in FIG. 23.
Referring to FIG. 23, (0000) written in a buffer represents buffer data stored in a buffer with a buffer ID of 0000. Also, 0000 written in the BIT represents the buffer ID.
The buffer set information storage unit stores information relating to a buffer set that is a combination of buffer data stored in the buffers of the control modules, for example, a combination of buffer data (0000) and (0100) surrounded by a circle with a horizontally extending dotted line in the copy source device 2301.
The information relating to the buffer set includes association information that associates each buffer data with a buffer in the copy target device 2302 that stores the buffer data. For example, the buffer data stored in the buffer with the buffer ID of 0000 is associated with a buffer with a buffer ID of 1000 that stores the buffer data, in the buffer set information storage unit in the control module #00.
In the above configuration, (a) the control modules #00 and #01 store Write data in storage media in response to a Write I/O command from a host computer or the like.
Simultaneously, (b) the control modules #00 and #01 transfer and store the Write data in the buffers. At this time, the Write data is managed on a buffer set-by-buffer set basis.
Then, (c) when writing the Write data in the buffers is completed, the control modules #00 and #01 start data transfer for the Write data, i.e., start remote copy on buffer set-by-buffer set basis.
(d) The write data sent from the copy source device 2301 by the remote copy is stored in the buffers included in the control modules #10 and #11 in the copy target device 2302 in accordance with the buffer set information. Then, the control modules #10 and #11 reflect the Write data stored in the buffers into the storage media.
When the above processing is completed, (e) the control modules in the copy source device 2301 and the copy target device 2302 release the buffers etc.
As described above, the buffer set is collectively controlled by performing the data transmission, collectively by using the write only buffer. Then in the copy target device 2302, the data is expanded in the storage media on buffer set-by-buffer set basis. Accordingly, the ordering is ensured.
Relating to the above technique, a storage device is known. If a failure occurs, the storage device immediately reflects dirty data to a disk device in accordance with the priority of data that is set in a logical device, and processes a job relating to important work with a high priority, thereby reducing degradation in host processing performance.
Also, a backup device is known. The backup device monitors use states of write buffers that temporarily store write data, writes out information in the buffers to a high-speed disk system if free spaces of the buffers become small, and writes back the information to the buffers if the use states of the buffers are improved.
Further, a computer system is known. The computer system prevents overflow of side files and cache files, and safely and efficiently performs remote copy between disk array devices.
Japanese Laid-open Patent Publication Nos. 2005-149436, 2006-268420, and 2007-140651 are examples of related art.
Referring to FIG. 24, in the copy source device 2301, however, the buffers that store the transferred Write data, and the BIT storage unit are not released and held until the Write data is expanded into the storage media in the copy target device 2302.
Thus, (f) in a case in which the processing for expanding the Write data into the storage media is delayed in the copy target device 2302, if line performance between the copy source device 2301 and the copy target device 2302 is low or unstable, the transfer processing may be delayed.
For example, if the transfer processing is delayed because a line bandwidth between the copy source device 2301 and the copy target device 2302 is low or unstable, the time of using the buffers and the BIT storage units in the copy source device 2301 and the copy target device 2302 may increase due to the delay. Thus, the memory cannot be released during that time.
(g) In this state, the copy source device 2301 stores Write data every time when the copy source device 2301 receives a new Write I/O command from the host computer or the like. Consequently, the buffers in the copy source device 2301 are consumed one after another.
(h) If this state continues, the buffers capable of storing the Write data may be insufficient, and shortage of a buffer in the copy source device 2301 may occur. Also, if the Write data has a size equivalent to or larger than the assigned buffer, the shortage of a buffer may occur.
In the state in which the buffer is used up, the copy source device 2301 stops without processing the Write I/O command from the host computer or the like. This state cannot be continued for a long time.
Hence, (i) the processing of the Write I/O command is temporarily stopped, and if the state in which the buffer is used up is not settled although a predetermined time elapses, buffer Halt processing is performed. The copy source device 2301 and the copy target device 2302 perform the buffer Halt processing, to clear the buffer and resume the processing of the Write I/O command.
At this time, the copy source device 2301 writes back the information of the Write data etc. in the buffer into a dedicated bit map. The copy source device 2301 performs remote copy transfer that does not ensure the ordering, in accordance with the bit map after the buffer Halt processing is executed. In this case, the remote copy that ensures the ordering may be suspended.